JAX-RS (Java API for RESTful Web Services) হল Java-এর একটি এপিআই, যা RESTful ওয়েব সার্ভিস তৈরি করার জন্য ব্যবহার করা হয়। এটি সহজে ওয়েব সার্ভিস তৈরি করতে সহায়তা করে এবং HTTP প্রোটোকলের মাধ্যমে ক্লায়েন্ট এবং সার্ভারের মধ্যে বার্তা আদান-প্রদান করতে সক্ষম। এখানে JAX-RS API ব্যবহার করে RESTful ওয়েব সার্ভিস তৈরি করার পদ্ধতি ব্যাখ্যা করা হবে।
প্রথমে Maven ব্যবহার করে একটি নতুন প্রজেক্ট তৈরি করুন এবং JAX-RS সহ প্রয়োজনীয় ডিপেনডেন্সি যুক্ত করুন।
pom.xml
ফাইলে ডিপেনডেন্সি যোগ করাJAX-RS API ব্যবহার করতে, আপনি pom.xml
ফাইলে নিচের ডিপেনডেন্সি যোগ করতে পারেন:
<dependencies>
<!-- JAX-RS Dependency (for RESTful Web Services) -->
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-server</artifactId>
<version>2.35</version> <!-- Latest Version -->
</dependency>
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-json-jackson</artifactId>
<version>2.35</version> <!-- Latest Version -->
</dependency>
<!-- Logging Dependency -->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.13.3</version>
</dependency>
</dependencies>
এই ডিপেনডেন্সিগুলি JAX-RS API এবং JSON মিডিয়া টাইপের জন্য প্রয়োজনীয় লাইব্রেরি প্রদান করবে।
JAX-RS API ব্যবহার করে একটি RESTful Web Service তৈরি করতে, আপনাকে একটি ক্লাস তৈরি করতে হবে, যা @Path
অ্যানোটেশন ব্যবহার করে URL পাথ নির্ধারণ করবে এবং @GET
, @POST
, @PUT
, @DELETE
অ্যানোটেশন ব্যবহার করে HTTP মেথডের সাথে সম্পর্কিত মেথডগুলো ডিফাইন করবে।
এখানে একটি সাধারণ "Hello World" RESTful Web Service ক্লাসের উদাহরণ দেখানো হচ্ছে:
package com.example.rest;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
@Path("/hello")
public class HelloWorldService {
@GET
@Produces(MediaType.TEXT_PLAIN)
public String sayHello() {
return "Hello, World!";
}
}
/hello
পাথ ব্যবহার করা হয়েছে।text/plain
হবে, অর্থাৎ সাধারণ টেক্সট।sayHello()
মেথডটি GET রিকোয়েস্ট হ্যান্ডেল করবে।JAX-RS সার্ভিসটি চালু করার জন্য একটি Application
ক্লাস তৈরি করতে হয়, যা সার্ভিসটির সমস্ত রিসোর্স ক্লাস কনফিগার করবে।
এখানে একটি Application
ক্লাসের উদাহরণ দেওয়া হচ্ছে:
package com.example.rest;
import javax.ws.rs.ApplicationPath;
import javax.ws.rs.core.Application;
@ApplicationPath("/api")
public class RestApplication extends Application {
// No additional code is required here for basic functionality
}
/api
পাথটি ব্যবহার করা হয়েছে, অর্থাৎ সমস্ত RESTful সার্ভিস /api
পাথের অধীনে থাকবে।JAX-RS API চালানোর জন্য একটি সার্ভার যেমন GlassFish, Tomcat অথবা Jetty ব্যবহার করতে হবে। GlassFish একটি জনপ্রিয় জাভা EE সার্ভার যা JAX-RS সমর্থন করে।
যদি আপনি GlassFish সার্ভার ব্যবহার করেন, তবে আপনাকে প্রথমে GlassFish সার্ভার ইনস্টল করতে হবে এবং পরে প্রজেক্টটি ডিপ্লয় করতে হবে। GlassFish বা Tomcat এ ডিপ্লয় করার জন্য Maven ব্যবহার করে ওয়েব অ্যাপ্লিকেশন প্যাকেজ করতে পারেন:
mvn clean package
এরপর, আপনি target ফোল্ডারের মধ্যে তৈরি হওয়া .war
ফাইলটি GlassFish বা Tomcat সার্ভারের webapps
ফোল্ডারে ডিপ্লয় করতে পারবেন।
RESTful সার্ভিস তৈরি হওয়ার পর, আপনি একটি ক্লায়েন্ট তৈরি করতে পারেন যা এই সার্ভিসটি কল করবে।
এখানে একটি ক্লায়েন্ট উদাহরণ দেওয়া হচ্ছে যা HelloWorldService
থেকে ডেটা ফেচ করবে:
package com.example.rest;
import javax.ws.rs.client.Client;
import javax.ws.rs.client.ClientBuilder;
import javax.ws.rs.core.Response;
public class RestClient {
public static void main(String[] args) {
Client client = ClientBuilder.newClient();
Response response = client.target("http://localhost:8080/api/hello")
.request()
.get();
String output = response.readEntity(String.class);
System.out.println("Response from server: " + output);
}
}
এখানে:
এই গাইডে, আপনি শিখলেন কিভাবে JAX-RS API ব্যবহার করে একটি RESTful ওয়েব সার্ভিস তৈরি করতে হয়। প্রাথমিকভাবে, Maven প্রজেক্ট তৈরি করে JAX-RS ডিপেনডেন্সি যোগ করা, RESTful সার্ভিস ক্লাস তৈরি করা, এবং GlassFish বা Tomcat সার্ভারে সেটি ডিপ্লয় করা। শেষে, JAX-RS ক্লায়েন্ট ব্যবহার করে সার্ভিসটিকে কল করার পদ্ধতিও আলোচনা করা হয়েছে।